Roura (Unix)

Schematické znázornění propojení standardních proudů anonymními rourami; kolona je zastřešena textovým terminálem

Unixová roura (anglicky pipeline) je jednoduše použitelným prostředkem pro propojení výstupu jednoho procesu (spuštěného programu) se vstupem druhého. Lze například propojit výstup příkazu ls -l s příkazem grep, který propustí pouze řádky začínající znakem d, takže zůstanou informace o podadresářích aktuálního adresáře:

$ ls -l | grep ^d

Použití nepojmenované (anonymní) roury (Unix poskytuje také pojmenované roury) doplňuje možnost přesměrování standardních proudů do nebo ze souboru, jehož jméno stanovuje uživatel až v okamžiku zadání příkazu, o velmi mocný prostředek, který zároveň zpřístupňuje multitasking.

Do kolony propojit i více než dva procesy a tak vytvářet nové vlastnosti:

$ man cp | tr -cs '[:alnum:]' '\n' | sort | uniq -c | sort -rn | less

(příkaz zobrazuje po jednotlivých obrazovkách počty výskytů jednotlivých slovních tvarů v manuálové stránce příkazu cp setříděné od slov s nejvyšším počtem výskytů).

Unixové roury jsou nápaditou formou a implementací staršího konceptu softwarových rour, která byla s určitými omezeními převzata do dalších operačních systémů (DOS, Microsoft Windows, OpenVMS).


© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search